package com.sinothk.server.support.annotation.callback;

import java.lang.annotation.*;

/**
 * 返回统一返回：
 * 依据：
 * 1. https://www.toutiao.com/i6694404645827117572
 * 2. https://www.cnblogs.com/onehm/archive/2020/11/09/13947705.
 *
 * 使用方法：
 *  1. 在新项目中新建  ResponseResultExceptionAdvice 或 ResponseResultAdvice 子类；
 *  2. 新建 public class WebAppConfigurer implements WebMvcConfigurer 配置类。
 *
 *   @Configuration
 *   public class WebAppConfigurer implements WebMvcConfigurer {
 *
 *      @Override
 *     public void addInterceptors(InterceptorRegistry registry) {
 *         // 可添加多个
 *         registry.addInterceptor(new ResponseResultInterceptor()).addPathPatterns("/**");
 *     }
 *   }
 *
 *  3. 在Controller类或方法上使用:
 *     a.
 *          @ResponseResult
 *          public class OrderController {
 *
 *     b.
 *          @ResponseResult
 *          public Map<String,Object> test() {
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
@Documented
public @interface ResponseResult {
}
